Image processing apparatus, image processing method, and program product

ABSTRACT

An image processing apparatus configured to embed embedment information in image data includes an embedment information acquisition unit configured to acquire embedment information to be embedded in the image data, an information embedment manner determination unit configured to determine an information embedment manner to embed the embedment information according to one of the acquired embedment information and image data to be generated by embedding the acquired embedment information in the image data, and an information embedment unit configured to embed the acquired embedment information in image data according to the information embedment manner determined by the information embedment manner determination unit.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present patent application claims priority under 35 U.S.C. §119 fromJapanese Patent Application No. 2007-071283, filed on Mar. 19, 2007, andNo. 2007-182256, filed on Jul. 11, 2007 in the Japan Patent Office, theentire contents and disclosure of which are hereby incorporated byreference herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

Preferred embodiments of the present invention generally relate to aninformation embedment manner, and more particularly, to an imageprocessing apparatus, an image processing method, and a program productthat embed information in image data.

2. Discussion of the Related Art

Recent trends toward converting information into electronic data show nosigns of abating, and image forming apparatuses and image processingapparatuses, such as printers, facsimiles, and so forth, have beenindispensable in outputting information converted into electronicformat.

Typically, such an image processing apparatus is configured as acomposite apparatus that can be employed as a printer, a facsimile, ascanner, a copier, or the like, by including shooting, image formation,communications, and other such capabilities. In such an image processingapparatus, a commonly known technique to embed supplemental informationin image data is employed to control copying of digital data, toassociate digital data with printed data, and so forth, and a variety ofmethods to embed information in image data have been proposed.

For example, a method to embed information in image data by using spacesbetween characters, a method to superimpose a visible dot pattern onimage data, and a method to embed information invisibly by modifying abackground image of original image data are commonly known. It is to benoted that a method to embed information in image data is required to beselected based on the type of information and the intended use orpurpose of image data to be generated by embedding the information.

For example, a technique to select an appropriate information embedmentmethod has been proposed. In the technique, image data is converted intofrequency components and an appropriate information embedment method isselected depending on data volume of high-frequency components.

In addition, another technique has been proposed in which a copyrightprotection mode or a manipulation detection mode is selected inembedding information in original image data, and strength ofinformation embedment varies according to the selected mode.

However, these techniques have a drawback in that there is no way toensure that the most appropriate information embedment method isselected. By embedding information in original image data, a variety offunctions, such as copy restriction, trace, manipulation detection, andso forth, are provided depending on the purpose for which image data isto be generated by embedding the information. A selected informationembedment method using the above-described techniques may not satisfythose functions required by a user.

At the same time, even when an appropriate information embedment methodis selected, because an information volume of embedment informationvaries depending on information embedment methods, when the image datadoes not have enough area to include the embedment information, theembedment information cannot be embedded in the image data. Furthermore,even when embedment information is embedded in image data, the embeddedinformation may affect generated image data depending on the way inwhich the embedded information is embedded.

On the other hand, another technique to embed required information inimage data by applying image processing to original image data has beenproposed. In this technique, when required information cannot beembedded in image data, the required information is forcibly embedded inimage data by degrading image quality or resistance of generated imagedata. However, this technique is limited to enforced embedment ofinvisible information, and visible information cannot be embeddedforcibly.

Further, another technique to embed required information in image databy image-processing original image data has been proposed. In thistechnique, required information is embedded in spaces between characterson a document image of image data. However, when image data cannotinclude required information, the required information cannot beforcibly embedded in the image data.

SUMMARY OF THE INVENTION

The present invention describes an image processing apparatus configuredto embed embedment information in image data, which, in one preferredembodiment, includes an embedment information acquisition unitconfigured to acquire embedment information to be embedded in imagedata, an information embedment manner determination unit configured todetermine an information embedment manner to embed the embedmentinformation according to one of the acquired embedment information andimage data to be generated by embedding the acquired embedmentinformation in the image data, and an information embedment unitconfigured to embed the acquired embedment information in image dataaccording to the information embedment manner determined by theinformation embedment manner determination unit.

The present invention further describes image processing method to embedembedment information in image data, which, in one preferred embodiment,includes the steps of acquiring embedment information to be embedded inthe image data, determining an information embedment manner to embed theembedment information according to one of the acquired embedmentinformation and image data to be generated by embedding the acquiredembedment information in the image data, and embedding the acquiredembedment information in image data according to the determinedinformation embedment manner.

The present invention further describes an image processing programproduct, which, in one preferred embodiment, includes the steps ofacquiring embedment information to be embedded in the image data,acquiring usage property information about a usage property of imagedata to be generated by embedding the acquired embedment information inthe image data, generating an information embedment manner determinationcondition to determine the information embedment manner based on theusage property information, selecting a plurality of informationembedment manners including available function item information in whichan available function item provided by each information embedment manneris stored based on the generated information embedment mannerdetermination condition, determining one information embedment mannerbased on the information embedment manner determination condition andavailable function item information, and embedding the acquiredembedment information in image data according to the determinedinformation embedment manner.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the disclosure and many of the attendantadvantages thereof will be readily obtained as the same becomes betterunderstood by reference to the following detailed description whenconsidered in connection with the accompanying drawings, wherein:

FIG. 1 is a block diagram showing an entire configuration of an imageprocessing apparatus of a first embodiment according to the presentinvention;

FIG. 2 is a flow chart showing an information embedment operationaccording to the first embodiment;

FIG. 3 is a flow chart showing an acquisition operation of aninformation embedment condition described in step S202 of FIG. 2;

FIG. 4 is an example screen to specify a usage property of generatedimage data displayed on a display panel;

FIG. 5 is a check item summation table that provides several points toeach check item shown in FIG. 4;

FIG. 6 is an information embedment condition histogram showing asummation result of function items;

FIG. 7 is a method-specific function item table according to the firstembodiment;

FIG. 8 is an available function item histogram of a method B in themethod-specific function item table shown in FIG. 7;

FIG. 9 is a histogram obtained by superposing the available functionitem histogram shown in FIG. 8 on the information embedment conditionhistogram shown in FIG. 6.

FIG. 10 is an information embedment method selection screen displayed onthe display panel;

FIG. 11 is an information embedment condition table corresponding to theinformation embedment condition histogram shown in FIG. 6;

FIG. 12 is a flow chart showing processing of usage property informationacquisition of a second embodiment according to the present invention;

FIG. 13 is a table of function items with respect to each document typeof a fifth embodiment according to the present invention;

FIG. 14 is a block diagram showing configuration of an informationembedment device of a sixth embodiment according to the presentinvention;

FIG. 15 is a flow chart describing entire processing by the informationembedment device according to the sixth embodiment;

FIG. 16 is a flow chart describing processing in step S1503 of the flowchart shown in FIG. 15;

FIG. 17 is a block diagram showing configuration of an informationembedment device of a seventh embodiment according to the presentinvention;

FIG. 18 is a flow chart describing entire processing by the informationembedment device according to the seventh embodiment;

FIG. 19 is a flow chart describing image processing in step S1806 in theflow chart shown in FIG. 18; and

FIG. 20 is an illustration schematically showing a method to calculatean information volume.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In describing preferred embodiments illustrated in the drawings,specific terminology is employed solely for the sake of clarity. Itshould be noted that the present invention is not limited to anypreferred embodiment described in the drawings, and the disclosure ofthis patent specification is not intended to be limited to the specificterminology so selected. It is to be understood that each specificelement includes all technical equivalents that operate in a similarmanner and achieve a similar result.

Referring now to the drawings, wherein like reference numerals designateidentical or corresponding parts throughout the several views, preferredembodiments of the present invention are described.

The present invention determines whether or not a plurality ofinformation embedment methods are appropriate when embedment informationis embedded to image data based on information, which is input by auser, about a usage purpose of the embedment information, an applicationpurpose of an image after embedment of the embedment information, and arequest to the image.

FIG. 1 is a block diagram showing an entire configuration of an imageprocessing apparatus 1 of a first embodiment according to the presentinvention. The image processing apparatus 1 includes a controller 100,an auto document feeder (ADF) 101, a scanner unit 102, a sheet outputtray 103, a host interface (I/F) 104, a display panel 105, a sheetfeeding table 106, a print engine 107, a sheet output tray 108, and ahard disk drive (HDD) 110. The controller 100 includes a main controller111, an engine controller 112, an input-output controller 113, an imageprocessor 114, an HDD controller 115, and an information embedmentprocessor 116. In FIG. 1, solid-line arrows indicate electricalconnections, and broken-line arrows indicate flows of a sheet of paperor a bundle of documents.

The host I/F 104 is an interface used in communications between theimage processing apparatus 1 and other apparatuses such as a hostapparatus or the like. A print task instructed by the host apparatus isinput into the controller 100 through the host I/F 104, and then imageformation based on the print task is carried out according to control ofthe controller 100. The display panel 105 is an output interface todisplay a state of the image processing apparatus 1 and also an inputinterface to serve as a touch panel when a user directly operates theimage processing apparatus 1.

A configuration of the controller 100 is formed by combining softwareand hardware, more specifically, formed of a software controller andhardware such as an integrated circuit. In the software controller, acontrol program such as firmware or the like, which is stored in anonvolatile storage medium such as a ROM (Read Only Memory), an EEPROM(Electronically Erasable and Programmable ROM), the HDD 110, an opticaldisk, or the like, is loaded into a volatile memory such as a DRAM(Dynamic Random Access Memory) or the like. The software controllercontrols the control program according to control of a CPU (CentralProcessing Unit). The controller 100 entirely controls the imageprocessing apparatus 1.

The main controller 111 sends an instruction to each unit included inthe controller 100 to control each unit. The engine controller 112controls or drives the print engine 107, the scanner unit 102, and soforth. The input-output controller 113 inputs a print task sent throughthe host I/F 104 or operation information input by a user through thedisplay panel 105 into the main controller 111. At the same time, theinput-output controller 113 displays information on the display panel105 according to an instruction by the main controller 111 or sendsinformation to the host apparatus through the host I/F 104. The imageprocessor 114 generates drawing information based on informationincluded in the print task or a document stored in the HDD 110 accordingto control of the main controller 111. The drawing information isinformation for the print engine 107 to draw an image to be formed in animage forming operation thereof. The image processor 114 processes shotimage data sent from the scanner unit 102 and generates image data. Theimage data is stored in the HDD 110 through the HDD controller 115 orsent to the host apparatus through the host I/F 104 as data obtained byscanning.

The HDD controller 115 controls information storage to and informationreading from the HDD 110 according to the main controller 111. The HDD110 stores image data input as a print task, read by the scanner unit102, or the like, as a stored document, network address information ofthe host apparatus connected through the host I/F 104, an address bookincluding destination information required for the image processingapparatus 1 to serve as a facsimile, a variety of setting valuesreferred by the image processing apparatus 1 corresponding to a varietyof operations thereof, and so forth. The information embedment processor116 embeds embedment information in image data to be output as an imageon a sheet of paper by the print engine 107 or image data read by thescanner engine 102. The information embedment processor 116 can embedembedment information according to a plurality of information embedmentmethods. A detailed description about the information embedmentprocessor 116 is given below.

When the image processing apparatus 1 serves as a printer, theinput-output controller 113 receives a print task through a USB(universal serial bus) or a LAN (local area network) connected to thehost I/F 104. The main controller 111 receives a print task from theinput-output controller 113 and causes the image processor 114 toperform image processing. Then, the image processor 114 generatesdrawing information based on image data included in the print task or adocument stored in the HDD 110 in response to an instruction from themain controller 111. The drawing information generated by the imageprocessor 114 is spooled in the HDD 110 sequentially. The enginecontroller 112 feeds a sheet of paper to the print engine 107 by drivingthe sheet feeding table 106 according to an instruction of the maincontroller 111. At the same time, the engine controller 112 reads thedrawing information spooled in the HDD 110 and inputs the drawinginformation into the print engine 107. The print engine 107 carries outimage formation based on the drawing information sent from the enginecontroller 112 onto the sheet of paper fed from the sheet feeding table106. That is, the print engine 107 serves as an image forming unit. Asan example mechanism of the print engine 107, an image forming mechanismby an ink-jet method, an electrophotographic method, or the like, can beemployed. The sheet of paper after the image formation by the printengine 107 is output to the sheet output tray 108.

When the image processing apparatus 1 serves as a scanner, theinput-output controller 113 sends a scanning execution signal to themain controller 111 in accordance with an operation of the display panel105 by a user or a scanning execution instruction input from theexternal host apparatus through the host I/F 104. The main controller111 controls the engine controller 112 in response to the scanningexecution signal received from the input-output controller 113. Theengine controller 112 drives the ADF 101 and conveys a document set onthe ADF 101 to the scanner unit 102. Then, the engine controller 112shoots the document conveyed from the ADF 101 by driving the scannerunit 102. When a document is set on the scanner unit 102 instead of theADF 101, the scanner unit 102 shoots the document according to controlof the engine controller 112. In other words, the scanner unit 102serves as a shooting unit.

More specifically, a shooting device such as a CCD (Charge CoupledDevice) or the like included in the scanning unit scans the documentoptically, and shot image data is generated based on opticalinformation. The engine controller 112 sends the shot image datagenerated by the scanner unit 102 to the image processor 114. The imageprocessor 114 generates image data based on the shot image data receivedfrom the engine controller 112 according to control of the maincontroller 111. The image data generated by the image processor 114 isspooled in the HDD 110 sequentially. The image data spooled in the HDD110 is stored in the HDD 110 or sent to the external host apparatusthrough the input-output controller 113 and the host I/F 104 accordingto an instruction by a user.

Alternatively, when the image processing apparatus 1 serves as a copier,the image processor 114 generates drawing information based on shutimage data that the engine controller 112 receives from the scanner unit102 or image data generated by the image processor 114 and stored in theHDD 110. Then, the engine controller 112 drives the print engine 107based on the drawing information similar to the above-described printingoperation of the image processing apparatus 1.

Next, an information embedment operation performed in the imageprocessing apparatus 1 is explained. FIG. 2 is a flow chart showing aninformation embedment operation according to the first embodiment.First, image data in which information is embedded is input to theinformation embedment processor 116 (step S201). Then, the informationembedment processor 116 acquires an information embedment condition(step S202). The information embedment condition is information about aneffect obtained by embedding the embedment information. The informationembedment processor 116 selects a recommended information embedmentmethod among a plurality of information embedment methods based on theinformation embedment condition input thereto (step S203) and informsthe main controller 111 of the recommended information embedmentmethods. Processing in steps S202 and S203 is described in detail below.The main controller 111 controls the input-output controller 113 anddisplays the information embedment method informed by the informationembedment processor 116 on the display panel 105 (step S204).

A user verifies the recommended information embedment method displayedon the display panel 105 and determines an information embedment methodto be employed by operating the display panel 105 (step S205). At thispoint, when a plurality of recommended information embedment methods isdisplayed on the display panel 105, the user determines one informationembedment method therefrom. An instruction input by the user byoperating the display panel 105 to determine the information embedmentmethod is input to the main controller 111 through the input-outputcontroller 113. The information embedment processor 116 recognizes thedetermination of the information embedment method by a notification fromthe main controller 111. When the information embedment method isdetermined, the information embedment processor 116 embeds theinformation in the image data input in step S201 (step S206) and theoperation is terminated.

Next, an acquisition operation of the information embedment conditiondescribed in step S202 of FIG. 2 is explained with reference to a flowchart shown in FIG. 3. Prior to acquisition of the information embedmentcondition, check items about a usage property of image data to begenerated by embedding the acquired embedment information in the inputimage data are displayed on the display panel 105 (step S301). FIG. 4shows an example screen to specify a usage property of generated imagedata displayed on the display panel 105. As shown in FIG. 4, a screen tospecify a usage property of generated image data according to the firstembodiment includes check items to specify a request for generated imagedata and check items to specify a usage purpose of the generated imagedata. The request for the generated image data is also a usage purposeof the embedment information. The user marks an appropriate checkboxwith respect to each check item and touches an “OK” button provided in alower side of the screen. Thereby, usage property information is inputto the input-output controller 113 through the display panel 105. Then,the information embedment processor 116 acquires the usage propertyinformation sent from the main controller 111 (step S302). The displaypanel 105, the input-output controller 113, the main controller 111, andthe information embedment processor 116 serve as a unit to acquire theusage property information.

When acquiring the usage property information, the information embedmentprocessor 116 refers to a check item summation table and sums a checkitem of which checkbox has been marked by the user (step S303). FIG. 5shows a check item summation table that provides several points to eachcheck item described above. As shown in FIG. 5, the check item summationtable is formed of the check items shown in FIG. 4 and function itemsthat are obtained by embedding the embedment information in the inputimage data. Several points are assigned to each function item requiredfor each check item. For example, when check item Q1-1 of “do not allowcopying” is marked by the user among the check items shown in FIG. 4,several points are assigned to respective function items of “copyrestriction,” “insertion characters,” “required area,” and “cuttingresistance.” In other words, in order to satisfy an request of “do notallow copying” by the user, the check item summation table shown in FIG.5 indicates that the functions of “copy restriction,” “insertioncharacters,” “required area,” and “cutting resistance” are required tobe added to the input image data by embedding the embedment information.

At the same time, in the check item summation table shown in FIG. 5,different points are assigned to respective function items. For example,as for the function item of “insertion characters,” when check item Q1-1of “do not allow copying” is marked, four points are assigned thereto.On the other hand, when check item Q1-3 of “determine original document”is marked, five points are assigned to the function item of “insertioncharacters”. Thereby, a function required to achieve each check item canbe determined more appropriately.

Then, the function items shown in FIG. 5 are described in detail. Thefunction item of “copy restriction” is a function to embed informationindicating that copy is not allowed to the image data. An informationembedment method is not limited to one method, and the function item canbe achieved by a plurality of information embedment methods.

The function item of “trace” is a function to embed embedmentinformation such as a user identifier, a document identifier, a date,identification information of an output apparatus (for example, a serialnumber, a MAC (Media Access Control) address, an IP (Internet Protocol)address, and so forth), and so forth, into the image data. When theimage data is leaked, a source of the information leakage can betracked.

The function item “insertion characters” is a function to cause apredetermined image or character to emerge on an image when the image iscopied by adding a predetermined dot pattern to input image data.Thereby, an original document in which the image is used can bedetermined, and document forgery can be prevented.

The function item of “Manipulation Detection” is a function to detectmanipulation of the image data based on predetermined manipulationdetection information by entirely adding the manipulation detectioninformation to input image data. The manipulation can be detected byexamining whether or not the manipulation detection information isembedded to the input image data that is required to include themanipulation detection information.

The function item of “appearance” is a function to visually maintain anappearance of original input image data after embedding embedmentinformation. The less the embedment information affects the originalinput image data visually, the better the appearance of image data inwhich the embedment information is embedded becomes. For example, whencheck item Q1-6 of “reduce effects on original image” or check item Q2-2of “distribute externally” is marked by the user among the check itemsshown in FIG. 4, several points are assigned to the function item of“appearance.” The points assigned to the function item of “appearance”determine whether the embedment information embedded in the originalinput image data is visible or invisible. The first embodiment includesthree options of “visible,” “anti-visible,” and “invisible,” and one ofthe three options is selected depending on the points assigned to thefunction item of “appearance.” The three options are described in detailbelow.

The function item of “information volume” is related to the volume ofembedment information. In the first embodiment, when a check item inwhich a large amount of memory is required in embedding the embedmentinformation is marked by a user among the check items shown in FIG. 4,several points are assigned to the function item of “informationvolume.” Alternatively, when an amount of the embedment information isreduced, several points can be assigned to the function item of“information volume.”

The function item of “required area” is related to an informationembedment area of original input image data in which embedmentinformation is embedded. In the first embodiment, when a check itemrequiring to reduce the information embedment area is marked by a useramong the check items shown in FIG. 4, several points are assigned tothe function item of “required area.” Alternatively, several points canbe assigned to the function item of “required area” when a largeinformation embedment area is required.

The function item of “embedment time” is related to a time periodrequired for the information embedment processor 116 to embed embedmentinformation in input image data in step S206 of the flow chart shown inFIG. 2. In the first embodiment, when a check item requiring to promptlyembed the embedment information in the input image data is marked by auser among the check items shown in FIG. 4, several points are assignedto the function item of “embedment time.” For example, when check itemQ2-4 of “distribute widely” marked by a user among the check items shownin FIG. 4 and different identification numbers are added to respectivedocuments, image processing different from respective documents isrequired to be performed to generate drawing information for respectivedocuments. In this example, when an information embedment method takinga long time period is selected, an extremely long time period isrequired to complete printing all the documents. When an informationembedment method taking a short time period is selected, a time periodrequired to complete printing all the documents may be shorter.

The function item of “retrieval time” is related to a time periodrequired to read embedment information in generated image data in whichthe embedment information is embedded by referring to the generatedimage data. In the first embodiment, when a check item requiring toretrieve the embedment information from the generated image datapromptly is marked by a user among the check items shown in FIG. 4,several points are assigned to the function item of “retrieval time.”

The function item of “cutting resistance” is resistance to removal ofembedment information when generated image data in which the embedmentinformation is embedded is printed on a sheet of paper and a part of thesheet is cut with scissors or the like. The function item of “cuttingresistance” is also resistance to cutting of embedment information bydeleting a part of generated image data electronically. For example,when embedment information is embedded in image data with a bar code orthe like, the embedment information embedded in the image data maybecome invalid by cutting the bar code. In the first embodiment, when acheck item requiring resistance to invalidation of embedment informationby removing a part of generated image data is marked by a user among thecheck items shown in FIG. 4, several points are assigned to the functionitem of “cutting resistance.”

The function item of “embedment strength” is related to a retrievalratio, the number of interleave, a parity bit length for a parity check,and so forth, used for reading embedment information in generated imagedata in which the embedment information is embedded by referring to thegenerated image data. For example, when a printed image is copiedrepeatedly or electronic image data is converted or filtered, anoriginal image deteriorates gradually. “Embedment strength” determineswhether or not the embedment information can be retrieved from such adeteriorated image. In the first embodiment, when a check item requiringvalidation of embedment information even if an image of generated imagedata is copied or converted repeatedly is marked by a user among thecheck items shown in FIG. 4, several points are assigned to the functionitem of “embedment strength.”

The information embedment processor 116 assigns several points to eachfunction item as shown in FIG. 5 according to a check item marked by auser among the check items shown in FIG. 4 and sums the points. FIG. 6is a histogram showing a summation result of function items, in otherwords, an information embedment condition histogram. In FIG. 6, anexample is shown when check item Q1-1 of “do not allow copying” andcheck item Q1-2 of “track information leak point” is marked by a user.FIG. 6 shows a summation result of points assigned to respectivefunction items according to a check item marked by a user, and thesummation result also indicates a request by the user in embeddingembedment information in input image data. In other words, the histogramshown in FIG. 6 shows a condition required to be satisfied whenembedment information is embedded in input image data and is used as aninformation embedment method determination condition to determine aninformation embedment method. As described above, an informationembedment condition is obtained.

Next, selection of a recommended information embedment method of stepS203 of the flow chart shown in FIG. 2 is described. The informationembedment processor 116 refers to a method-specific function item tablestored therein in selecting an information embedment method. FIG. 7shows a method-specific function item table according to the firstembodiment. As shown in FIG. 7, the method-specific function item tableaccording to the first embodiment is formed of information embedmentmethods and function items. An availability factor of each function itemwith respect to each information embedment method is shown with a symbolof “◯,” “AΔ” or “X.” In other words, the method-specific function itemtable according to the first embodiment shows an effect obtained byusing each information embedment method. That is, the method-specificfunction item table is used as available function item information inwhich a function, an action, and an effect that each informationembedment method can provide are stored.

Afterwards, an example of the information embedment method shown in FIG.7 is described. In the first embodiment, as for the informationembedment method, a technique to provide “copy restriction,” “visibledigital watermark,” “invisible or anti-visible digital watermark,”“insertion characters,” “bar code,” or the like, can be employed. Thetechnique of “copy restriction” is a technique to restrict copying animage printed on a sheet of paper by embedding a predetermined maskpattern in the image. In the information embedment method using thistechnique, the predetermined mask pattern is easy to be embedded, and amask unit is also installed easily to the image processing apparatus 1.However, in order to perform the copy restriction, a copier is requiredto support the copy restriction technique. The copy restrictiontechnique depends on copiers, and appearance of an original image maydeteriorate.

The technique of “visible digital watermark” is a technique to embedinformation by writing a mask pattern in image data. In this method, asthe mask pattern, that is, the watermark, is visible, unauthorizedprocessing can be eliminated. However, appearance of an original imagemay become inferior.

The technique of “invisible or anti-visible digital watermark” is atechnique to embed information such that the information is invisible ordifficult to be recognized different from the technique of “visibledigital watermark.” More specifically, a technique to modify a space inor a shape of one character or to slightly modify a gradation or afrequency of an image is employed to embed information in a documentimage. In the technique of “invisible or anti-visible digitalwatermark,” as embedded information is invisible or difficult to berecognized, an appearance of the original image can be maintained.However, an amount of information that can be embedded in the documentimage is smaller than other methods.

The technique of “insertion characters” is a technique to embed apredetermined dot pattern in an original image such that when theoriginal image is copied by a copier, a character, a symbol, or the likeappears based on the embedded dot pattern, and a message indicating thata copied image is a duplicate is shown on the copied image. Thistechnique of “insertion characters” does not depend on copiers differentfrom the above-described copy restriction technique. However, theoriginal image can be copied even though the appeared character orsymbol, and an appearance of the original image may be inferior.

The technique of “bar code” is a technique to embed information as agraphic pattern in a margin of an original image or the like. Morespecifically, as the graphic pattern, a one-dimensional ortwo-dimensional graphic pattern can be employed. In the bar-codetechnique, an amount of information that can be embedded is lager thanthe other techniques. However, the embedded information can be removedeasily by cutting the graphic pattern, and this technique does not havestrong resistance to cutting.

It should be noted that the above-described techniques can be employedsolely or in combination with the other techniques.

When an information embedment method is selected in step S203 in theflow chart of FIG. 2, the information embedment processor 116 refers tothe method-specific function item table and generates a histogram ofavailability factors assigned to respective information embedmentmethods. FIG. 8 is a histogram of a method B in the method-specificfunction item table shown in FIG. 7. The information embedment processor116 compares a histogram as shown in FIG. 8 that is obtained from amethod-specific function item table as shown in FIG. 7, which isreferred to as an available function item histogram, with an embedmentcondition histogram as shown in FIG. 6 that is obtained in step S202 ofthe flow chart shown in FIG. 2, and determines a evaluation value bycalculating similarity between the available function item histogram andthe embedment condition histogram. FIG. 9 shows a histogram obtained bysuperposing the available function item histogram shown in FIG. 8 on theembedment condition histogram shown in FIG. 6. In FIG. 9, the availablefunction item histogram is shown with diagonal lines. The similaritybetween the available function item histogram and the embedmentcondition histogram is determined, for example, by calculatingsuperposed areas thereof. The information embedment processor 116selects an information embedment method of which evaluation value isequal to or more than a predetermined threshold value as a recommendedinformation embedment method and removes an information embedment methodof which evaluation value is less than the threshold value fromcandidate information embedment methods by determining the similaritywith respect to each information embedment method stored in themethod-specific function item table. As a result, the recommendedinformation embedment method is selected.

FIG. 10 shows an information embedment method selection screen displayedon the display panel 105 in step S204 of the flow chart shown in FIG. 2as a result of selection of the recommended information embedment methodperformed in step S203 of the flow chart shown in FIG. 2. In FIG. 10,information embedment methods selected as the recommended informationembedment methods in step S203 are shown in decreasing order ofevaluation value thereof. At the same time, characteristics of eachinformation embedment method are related to functions and displayed witheach information embedment method. Thereby, a user can promptlydetermine an appropriate information embedment method to be employed inembedding embedment information in input image data with reference tothe functions. When the user selects one information embedment methodand touches an “embedment” button while following an instructiondisplayed on the information embedment method selection screen shown inFIG. 10, the information embedment method is ultimately determined (stepS205). In the first embodiment, the display panel 105, the input-outputcontroller 113, the main controller 111, and the information embedmentprocessor 116 also serve as an information embedment mannerdetermination unit. When only one information embedment method isdisplayed on the information embedment method selection screen, the userselects agree or disagree with the displayed information embedmentmethod on the display panel 105. The information embedment processor 116embeds the embedment information in the input image data according tothe information embedment method determined in step S205 (step S206).The information embedment processor 116 functions as an informationembedment unit.

As described above, a user can easily select an appropriate informationembedment method with the image processing apparatus 1 according to thefirst embodiment, even if a user does not know a variety of informationembedment methods. The image processing apparatus 1 according to thefirst embodiment generates an information embedment condition includinga purpose of information embedment, a request for information embedmentprocessing, and so forth, based on usage property information input by auser. Then, according to the generated information embedment condition,recommended information embedment methods are selected. The user candetermine one information embedment method that satisfies a request bythe user for the information embedment including a plurality of functionitems.

Instead of the above-described processing according to the firstembodiment, an example processing that several points are directlyassigned to each information embedment method based on usage propertyinformation input by a user can be employed. In the example processing,several processing steps may be omitted in comparison with the firstembodiment. However, when several points are directly assigned to eachinformation embedment method and one information embedment method isselected based on the points, the information embedment method may havemany points only from a certain function. That is, a problem may arisein that a request for information embedment by a user is not besatisfied with a plurality of functions. On the other hand, in theabove-described selection processing according to the first embodiment,this problem can be avoided. Alternatively, when a request forinformation embedment by a user is limited to one function item, theselection processing according to the first embodiment can be simplifiedby employing the example processing. It should be noted that theselection processing can be determined depending on a request by a user.

Alternatively, as other example processing, when each check item shownin FIG. 4 corresponds to each information embedment method and a usermarks any one of the check items, one information embedment method canbe determined. Alternatively, when a user marks each one of the checkitems of “requirements for generated image data” and “usage purposes ofgenerated image data,” one information embedment method can bedetermined.

In the above description, in step S204 of the flow chart shown in FIG.2, information embedment methods of which evaluation values are equal toor more than the predetermined threshold value are displayed asrecommended information embedment methods on the display panel 105.Alternatively, all the information embedment methods can be displayed indecreasing order of evaluation value, or only one information embedmentmethod having the highest evaluation value can be displayed.

In the above description, an example that a user determines oneinformation embedment method and executes information embedment usingthe information embedment method is described with reference to FIG. 10.Alternatively, only one information embedment method having the highestevaluation value can be determined automatically to execute informationembedment. Similarly, when only one information embedment method has anevaluation value more than the threshold value, information embedmentcan be executed automatically using the information embedment method.

In the above description, an example that evaluation values arecalculated by comparing an available function item histogram with aninformation embedment condition histogram is described with reference toFIG. 9. More specifically, an area ratio of an available function itemhistogram to an information embedment condition histogram can be used asan evaluation value. Alternatively, a threshold value can be set to eachfunction item of an information embedment condition histogram. In theembedment condition histogram, a symbol of “◯,” “Δ,” or “X” is assignedto each function item of which value is equal to or more than thethreshold value, less than the threshold value and more than zero, orzero, respectively. Thereby, an information embedment condition table asshown in FIG. 11 can be prepared and compared with the method-specificfunction item table shown in FIG. 7. FIG. 11 is an information embedmentcondition table corresponding to the information embedment conditionhistogram shown in FIG. 6. In the information embedment condition tableshown in FIG. 11. the threshold value is set as 3.

For example, when a symbol of “Δ” is specified to a function item in theinformation embedment condition table shown in FIG. 11, provided thatthe corresponding function item in the method-specific function itemtable shown in FIG. 7 is represented with a symbol of “Δ” or “◯,” it isdetermined that an information embedment condition is satisfied. When asymbol of “◯” is specified to a function item in the informationembedment condition table shown in FIG. 11, provided that thecorresponding function item in the method-specific function item tableshown in FIG. 7 is represented with a symbol of “◯,” it is determinedthat an information embedment condition is satisfied. When theabove-described determination is applied to each function item withrespect to each information embedment method, a recommended informationembedment condition can be selected. More specifically, a recommendedinformation embedment method can be selected with the number of functionitems satisfying an information embedment condition, or an informationembedment method can be removed from candidate information embedmentmethods when the information embedment method includes a function itemnot satisfying an embedment condition.

Alternatively, a summation result of points assigned to each check itemshown in FIG. 4 can be represented as a line graph with a horizontalaxis of function items and a vertical axis of summed points instead ofan information embedment condition histogram as shown in FIG. 6. Amethod-specific function item table as shown in FIG. 7 can also berepresented as a line graph similarly. A recommended informationembedment method can be selected by applying pattern matching to bothline graphs after mathematization.

In the above description, the method-specific function item table shownin FIG. 7 is represented with a symbol of “◯,” “Δ,” or “X.”Alternatively, the method-specific function item table can berepresented with a numerical value.

In the above description, as shown in FIG. 2, information embedmentprocessing from input of image data to the information embedmentprocessor 116 to execution of information embedment is explained. As foran example to input image data to the information embedment processor116, for example, a document stored in the HDD 110, an image or adocument as a print task sent from a host apparatus, or an image scannedby a scanner unit 102 is input to the information embedment processor116. A document stored in the HDD 110 is input by an operation of thedisplay panel 105 by a user or an instruction from a host apparatus.When information embedment processing is performed by a host apparatus,the main controller 111 controls the input-output controller 113 basedon a notification from the information embedment processor 116 and sendsdisplay information to display a screen as shown in FIG. 4 or 10 to thehost apparatus through the host I/F 104.

When an image or a document is input as a print task from a hostapparatus, the main controller 111 controls the input-output controller113 based on a notification from the information embedment processor 116and sends display information to display a screen as shown in FIG. 4 or10 to the host apparatus through the host I/F 104, as well.Alternatively, when including an application of information embedmentprocessing, a host apparatus can perform the same operation as the maincontroller 111.

When generated image data in which embedment information is embedded isinput to the image processor 114, an image is formed from the generatedimage data. Alternatively, embedment information can be embedded inimage data during generation of drawing image data by the imageprocessor 114 instead of being embedded in the information embedmentprocessor 116.

When image data is input as image data read by the scanner unit 102, auser performs scanning by operating the display panel 105. At thispoint, a screen as shown in FIG. 4 or 10 is displayed on the displaypanel 105, and the user determines an information embedment method.

Alternatively, the image processor 114 can perform image processing onshot image data input from the scanner unit 102 based on embedmentinformation input to the image processor 114 and embed the embedmentinformation in the shot image data instead of inputting image dataprocessed by the image processor 114 to the information embedmentprocessor 116 and embedding the embedment information in the image datain the information embedment processor 116.

In the first embodiment, as shown in FIG. 4, a user marks each checkboxof a plurality of check items to input usage property information.Occasionally, several combinations of the requirements for generatedimage data and the usage purposes of generated image data shown in FIG.4 cannot be satisfied at a one time. When a user marks severalcheckboxes of which requirements or purposes cannot be satisfied at aone time, a problem may arise in that an appropriate informationembedment method is not determined. In a second embodiment, the problemis solved by employing interactive processing from an input operation ofusage property information to an acquisition operation of an informationembedment condition. In the second embodiment, elements identical orequivalent to the elements shown in the first embodiment are representedby the same reference numerals as in the first embodiment and adescription thereof is omitted herein. FIG. 12 is a flow chart showingan input operation of usage property information, an acquisitionoperation of an information embedment condition, and a selectionoperation of an information embedment method according to the secondembodiment. These operations of the flow chart shown in FIG. 12correspond to operations performed in steps S202, S203, and S204 of theflow chart shown in FIG. 2.

According to the second embodiment, as shown in FIG. 12, when usageproperty information is input, any one of check items of therequirements for generated image data among the check items shown inFIG. 4 is shown on the display panel 105 as an inquiry (S1201). That is,a plurality of inquiries is shown at a plurality of times separately. Auser answers to each displayed inquiry by inputting “Yes” or “No”thereto while operating the display panel 105 (step S1202). The answersfrom the user are sent to the information embedment processor 116through the main controller 111. The information embedment processor 116converts the answers into numbers with reference to the check itemsummation table shown in FIG. 5 (step S1203) and generates aninformation embedment condition.

When the information embedment condition is generated, the informationembedment processor 116 refers to the method-specific function itemtable shown in FIG. 7 similar to the first embodiment and verifieswhether or not only one information embedment method is specified (stepS1204). When only one information embedment method is specified (stepS1204: YES), the information embedment method is displayed as therecommended information embedment method on the display panel 105 assame as step S204 shown in FIG. 2 (step S1205), and the processingterminates. At this moment, it is preferable that characteristics of theinformation embedment method are displayed therewith. On the other hand,when only one information embedment method is not specified (step S1204:NO), the information embedment processor 116 removes several inquiriesthat includes contradictory functions or difficult functions to beperformed by already specified information embedment methods fromcandidate inquiries based on the answers to the inquiries, which aredisplayed in step S1201, from the user in step S1202, and sends a nextinquiry to the main controller 111 (step S1206). Then, processing fromstep S1201 is repeated until only one information embedment method isspecified.

As described above, in the second embodiment according to the presentinvention, inquiries and answers to require a plurality of functionsthat cannot be obtained at a one time can be avoided from beingdisplayed and sent, and an information embedment method can be selectedappropriately. In the above description, a user input “Yes” or “No” withrespect to each inquiry. Alternatively, contradictory inquiry items canbe displayed at one time, a user can select any one of two or aplurality of contradictory inquiry items. In addition, by setting adisplay priority to each inquiry item, determination of an informationembedment method without displaying an inquiry item that is related to afunction required by a user can be avoided. As for the settings of adisplay priority to each inquiry item, for example, inquiry itemsrelated to function items for security such as a function item of “copyrestriction,” “trace,” “insertion characters,” or “manipulationdetection” can be displayed by priority.

In the second embodiment, only one recommended information embedmentmethod is selected. Alternatively, a plurality of recommendedinformation embedment methods can be displayed after narrowing downcandidate information embedment methods. For example, as describedabove, each of the inquiry items related to function items for securityis displayed, and functions for security are narrowed down. Then, aplurality of recommended information embedment methods are displayed,and a user can determine one information embedment method based oncharacteristics of each information embedment method related tofunctions on a screen as shown in FIG. 10. Alternatively, apredetermined number of candidate information embedment methods can beset. When recommended information embedment methods are narrowed downless than the predetermined number, the recommended informationembedment methods can be displayed.

In the first embodiment, the information embedment condition is obtainedbased on only the usage purpose information input by a user. In a thirdembodiment, more appropriate information embedment method can beselected by referring to information of input image data. In the thirdembodiment, elements identical or equivalent to the elements shown inthe first embodiment are represented by the same reference numerals asin the first embodiment and a description thereof is omitted herein.Image data includes a variety of information such as information aboutan application that has prepared an image or a document, a text of thedocument, an image itself, and so forth. In the third embodiment, suchinformation is also retrieved as usage purpose information and used forgeneration of an information embedment condition. Thereby, a user candetermine an information embedment method more easily, and recommendedinformation embedment methods are selected more appropriately. Forexample, when information about an application that has prepared anoriginal image is included in original image data, an appropriateinformation embedment method is different depending on characteristicsof each application such as a margin in printing or the like. In thethird embodiment, an effect of the application can be considered when anappropriate information embedment method is selected. Alternatively, ausage purpose is predicted by extracting a key word such as “contractdocument” from text information of an original document, and the keyword is used for selection of recommended information embedment methods.

More specifically, when a margin of a printed image or document issmall, additional points can be assigned to the function item of“required area” in the check item summation table shown in FIG. 5. Whenthe number of pages of an input image as an original image is large,additional points can be assigned to the function item of “embedmenttime.” In addition, when a key word such as “contract document,”“confidential,” or the like, is extracted from text information of anoriginal document, additional points can be assigned to the functionitem of “copy restriction,” “trace,” “insertion characters,”“manipulation detection,” or the like, that is related to security. Asdescribed above, in the third embodiment, a user can determine aninformation embedment method more easily or can determine a moreappropriate information embedment method by referring to informationobtained from original image data in addition to usage propertyinformation input by the user.

In the description above, an example that not only information input bya user but also information extracted from original image data is usedfor usage property information is explained. Alternatively, aninformation embedment method can be determined based on only informationextracted from original image data. Thereby, an input operation by auser can be minimized, and selection of an inappropriate informationmethod due to an inputting error by a user can be avoided.

In the first embodiment, points of each function item are summed basedon the check item summation table shown in FIG. 5 by marking the checkitems shown in FIG. 4. In a fourth embodiment, when the points aresummed, additional points are assigned to function items related tosecurity. In the fourth embodiment, elements identical or equivalent tothe elements shown in the first embodiment are represented by the samereference numerals as in the first embodiment and a description thereofis omitted herein. For example, in a document management method, asecurity level is preset to each document. When several points areassigned to each function item in the check item summation table shownin FIG. 5 based on a check item marked by a user on the screen shown inFIG. 4, an information embedment method appropriate for the securitylevel can be selected by assigning points considering the securitylevel. On the other hand, when an unnecessary high security level is setto a document by a selected information embedment method, otherfunctions such as an appearance may not be satisfied. In the fourthembodiment, such a problem can be avoided.

When usage purpose information is input according to the fourthembodiment, a security level of an original document is set first. Thesecurity level of the original image can be set by a user orautomatically based on contents of the original document. Alternatively,security level of an original document can be predicted from the checkitems shown in FIG. 4, when a user marks any one of the check itemsabout “usage purposes of generated image data.” For example, thesecurity level can be set depending on distribution destinations. Thesecurity level can be assigned to each check item of “usage purposes ofgenerated image data” as “high,” “medium,” or “low.” When a check itemof “high” is marked by a user, in assigning several points to the checkitem summation table shown in FIG. 5, function items such as“appearance” or “embedment time” that are not directly related tosecurity are removed or receives fewer points, and function itemsrequired to improve a security level receives more points. For example,50% or 70% of points that are already set in the check item summationtable shown in FIG. 5 can be assigned to function items that are notdirectly related to security. When a check item of “medium” is marked bya user, points that are already set in the check item summation tableshown in FIG. 5 are assigned to function items related to the check itemas is. When a check item of “low” is marked by a user, fewer points areassigned to function items related to security, and more points areassigned to other function items such as “appearance” or “embedmenttime.”

According to the fourth embodiment, the information embedment processor116 can generate and obtain an information embedment condition based ona security level, and a user can determine a more appropriateinformation embedment method. As described above, when a security levelof original image data is high, an information embedment conditionappropriate for the security level can be obtained by assigning pointsto function items related to security.

Alternatively, after an information embedment condition is obtained,function items related to security can be emphasized during comparisonof an available function item histogram with an embedment conditionhistogram as shown in FIG. 9. For example, when a security level oforiginal image data is high, an evaluation value can be calculated bymore emphasizing superposition of a function item related to securityand less emphasizing superposition of a function item not related tosecurity in comparing an available function item histogram with anembedment condition histogram as shown in FIG. 9.

In the fourth embodiment, an example in which additional points areassigned to function items based on a security level of original imagedata and function items related to security is emphasized or notemphasized is described. Alternatively, other function items can beemphasized according to a usage purpose of each original image data.

In the first embodiment, points of each function item are summed basedon the check item summation table shown in FIG. 5 by marking the checkitems shown in FIG. 4. In a usage purpose information input methodaccording to a fifth embodiment, a specific function item is set to besignificant by causing a user to input a type of an original document.For example, a contract document or a receipt can be managed similarlyconsidering security. A same information embedment method can be usedfor these documents, and function items required for such a document arelimited. The information embedment processor 116 includes a table shownin FIG. 13, and a function item to be emphasized is determined accordingto a document type input by a user. Alternatively, a user can configurea table such as the table shown in FIG. 13.

In the fifth embodiment, a user is required only to input a type of anoriginal document and selects several items if necessary. Theinformation embedment processor 116 selects recommended informationembedment methods by referring to the table shown in FIG. 13 based onthe type of the original document input by the user, and the mostappropriate information embedment method can be determined by usinginformation obtained from the original document, embedment determinationinformation, which is described in detail below, or the like. As aresult, the user can determine an information embedment method moreeasily, and processing performed in the image processing apparatus 1 canbe simplified.

As a result of comparing an available function item histogram with anembedment condition histogram as shown in FIG. 9, an information volumeof original image data that can include embedment information is notenough in a relation between embedment information and an informationembedment method, and an appropriate information embedment method maynot be selected. Even if an information volume of original image datathat can include embedment information is not enough, occasionallyembedment information is required to be embedded in the original imagedata considering security. In such a case, according to an instructionby a user, the information embedment processor 116 can forcibly edit theoriginal image data by performing image processing thereon so that theembedment information can be embedded in the original image data.Thereby, information embedment can be performed to satisfy the securitylevel. Example processing of this case is described in detail with sixthand seventh embodiment below.

As described above, in the first, second, third, fourth, and fifthembodiments, examples that embedment information is embedded in originalimage data in the image processing apparatus 1 including the scannerunit 102, the print engine 107, and so forth. When embedment informationis embedded in original image data and generated image data in which theembedment information is embedded is stored in the HDD 110 or is sent toa host apparatus through the host I/F 104, the scanner unit 102 and theprint engine 107 are not always required. Thus, the image processingaccording to the present invention can be performed by operating aninformation processing apparatus as an image processing apparatus. Itshould be noted that the information processing apparatus is not limitedto an image reading apparatus including a scanning unit, an imageforming apparatus including a print engine, or a composite apparatusthereof.

FIG. 14 is a block diagram showing configuration of an informationembedment device 1000 of a sixth embodiment according to the presentinvention. The information embedment device 1000 according to the sixthembodiment can be included in or equivalent to the information embedmentprocessor 116 of the image processing apparatus 1 according to thefirst, second, third, fourth, or fifth embodiment described above. FIG.15 is a flow chart describing entire processing by the informationembedment device 1000 according to the sixth embodiment. FIG. 16 is aflow chart describing processing to determine whether or not informationcan be embedded in step S1503 of the flow chart shown in FIG. 15 indetail.

The configuration of the information embedment device 1000 according tothe sixth embodiment is explained with reference to FIG. 14. The sixthembodiment according to the present invention is applied to a facsimileand embeds embedment information in image data to be sent by thefacsimile by embedding the embedment information in the image data. Asshown in FIG. 14, the configuration of the information embedment device1000 according to the sixth embodiment includes an image input unit 1401such as a scanner or the like, an embedment determination unit 1402, anembedment information input unit 1403, an image editor 1404, and aninformation embedment unit 1406. A hardware configuration of thefacsimile, which is not shown, includes a memory, a CPU, and so forth.The CPU executes the embedment determination unit 1402, the embedmentinformation input unit 1403, the image editor 1404, and the informationembedment unit 1406 that are configured by software and stored in thememory to employ functions thereof.

The entire processing of the information embedment device 1000 accordingto the sixth embodiment is explained with reference to the flow chartshown in FIG. 15.

First, image data to be sent by the facsimile is input from the imageinput unit 1401 such as a scanner or the like (step S1501). Then,embedment information is acquired from the embedment information inputunit 1403 (step S1502). The embedment information can be any informationsuch as an identification of a user that sends the image data from thefacsimile, an identification of a user that receives the image data fromthe facsimile, confidential information required not to appear on theimage data sent by the facsimile at a destination, or the like.

When the image data and the embedment information are input, theembedment determination unit 1402 determines whether or not the inputembedment information can be embedded in the input image data (stepS1503). This determination processing is described in detail withreference to FIG. 16 below.

When the embedment determination unit 1402 determines that the inputembedment information cannot be embedded in the input image data (stepS1503: No), the image editor 1404 edits the input image data to embedthe acquired embedment information therein by forcibly applying imageprocessing such as background removal, background image removal, or thelike, to the input image data and enlarging a blank area (step S1504).Then, the information embedment unit 1406 embeds the acquired embedmentinformation in image data edited by the image editor 1404 (step S1505),and the processing terminates.

When the embedment determination unit 1402 determines that the acquiredembedment information can be embedded in the input image data (stepS1503: Yes), the information embedment unit 1406 embeds the acquiredembedment information in the input image data without the edit by theimage editor 1404 (step S1505), and the processing terminates.

In step S1504, the image editor 1404 enlarges the blank area of theinput image data by applying image processing such as backgroundremoval. As for the image processing, a method to enlarge the blank areaby shifting an object image in the input image data can be employed. Inthe method, a blank area required to embed embedment information, forexample, a square of 1 cm, is obtained by shifting an object image andso forth and gathering small blank areas to one point or a plurality ofpoints. By using this method, the embedment information can be embeddedin the gathered blank area, even when embedment information cannot beembedded in a square blank area of 5 mm. More specifically, a square of1 cm can be obtained by shifting the object image to a left side andgathering blank areas of a right side and the left side, and aninformation embedment area can be enlarged.

Next, the embedment determination processing in step S1503 in the flowchart shown in FIG. 15 is described in detail with reference to a flowchart shown in FIG. 16.

The embedment determination unit 1402 calculates an information volume Aof the acquired embedment information to be embedded in image data froman information volume of the acquired embedment information and aninformation embedment method to embed the acquired embedment informationin the input image data (step S1601). Then, the embedment determinationunit 1402 calculates an information volume B that the input image datacan include therein from the blank area of the input image (step S1602).

An information embedment method can be determined appropriately in theabove-described processing according to the first, second, third,fourth, or fifth embodiment.

When error-correcting coding processing is applied to the acquiredembedment information, the embedment determination unit 1402 calculatesthe information volume A from an information volume of the acquiredembedment information subjected to the error-correcting codingprocessing and the information embedment method.

The embedment determination unit 1402 compares the information volume Bwith the information volume A and determines whether or not theinformation volume B is equal to or larger than the information volume A(step S1603).

When the embedment determination unit 1402 determines that theinformation volume B is larger than the information volume A (stepS1603: Yes), that is, when the entire embedment information to beembedded in the input image data can be embedded in the input imagedata, the processing proceeds to step S1505 of the flow chart shown inFIG. 15. When the embedment determination unit 1402 determines that theinformation volume B is not larger than the information volume A (stepS1603: No), that is, when the information embedment area of the inputimage data is not enough to embed the entire embedment information, theprocessing proceeds to step S1504 of the flow chart shown in FIG. 15.

In the embedment determination processing explained in the flow chartshown in FIG. 16, the information volume B is calculated from the blankarea of the input image data. Alternatively, the embedment determinationprocessing can be performed depending on whether or not the informationembedment unit 1406 can embed the acquired embedment information in theinput image data after attempting to embed the acquired embedmentinformation in the input image data.

In the sixth embodiment described above, when the embedmentdetermination unit 1402 determines that the acquired embedmentinformation cannot be embedded in the input image data in step S1503 ofthe flow chart shown in FIG. 15, the image editor 1404 edits the inputimage data by forcibly applying image processing such as backgroundremoval to the input image data. When an information embedment area ofedited image data in which embedment information can be embedded isstill insufficient after the image processing of the background removal,the acquired embedment information can be embedded in image data byusing an image processing method according to a second embodimentdescribed below.

In the sixth embodiment described above, the present invention isapplied to a facsimile, and embedment information is embedded in imagedata as a digital watermark. The present invention can be applied to aninformation processing apparatus such as a personal computer. Wheninformation is embedded in a PPT (PowerPoint) file or the like, aninformation embedment area of the PPT file can be enlarged by removing abackground image or a pattern of the PPT file using a pattern matchingmethod.

FIG. 17 is a block diagram showing configuration of an informationembedment device 1001 of a seventh embodiment according to the presentinvention. FIG. 18 is a flow chart describing entire processing by theinformation embedment device 1001 of the seventh embodiment according tothe present invention. FIG. 19 is a flow chart describing imageprocessing in step S1806 in the flow chart shown in FIG. 18. The seventhembodiment according to the present invention is applied to aninformation processing apparatus such a personal computer or the likeand embeds embedment information in image data such as an ordinarydocument including a text area, a figure area, a table area, and soforth.

The configuration of the information embedment device 1001 according tothe seventh embodiment is explained with reference to FIG. 17. As shownin FIG. 17, the configuration of the information embedment device 1001according to the seventh embodiment includes an image input unit 1701such as a scanner or the like, an embedment determination unit 1702, anembedment information input unit 1703, an image editor 1704, an enforcedembedment determination unit 1705, and an information embedment unit1706. The information embedment device 1001 according to the seventhembodiment can be included in or equivalent to the information embedmentprocessor 116 of the image processing apparatus 1 according to thefirst, second, third, fourth, or fifth embodiment described above. Ahardware configuration of the information processing apparatus in whichthe information embedment device 1001 according to the seventhembodiment is employed, which is not shown, includes a memory, a CPU,and so forth. The CPU executes the embedment determination unit 1702,the embedment information input unit 1703, the image editor 1704, theenforced embedment determination unit 1705, and the informationembedment unit 1706 that are configured by software and stored in thememory to employ functions thereof.

The entire processing of the information embedment device 1001 accordingto the seventh embodiment is explained with reference to the flow chartshown in FIG. 18.

First, image data as a document image is input from the image input unit1701 such as a scanner, a network, or the like (step S1801). Then,embedment information is acquired from the embedment information inputunit 1703 (step S1802). When the image data and the embedmentinformation are input, the embedment determination unit 1702 determineswhether or not the input embedment information can be embedded in theinput image data (step S1803). The embedment determination processing instep S1803 can be the same as the embedment determination processingaccording to the sixth embodiment shown in FIG. 16.

When the embedment determination unit 1702 determines that the inputembedment information can be embedded in the input image data (stepS1803: YES), the information embedment unit 1706 embeds the acquiredembedment information in the input image data as is (step S1807), andthe processing terminates.

When the embedment determination unit 1702 determines that the acquiredembedment information cannot be embedded in the input image data (stepS1803: NO), the enforced embedment determination unit 1705 allows a userto select whether the acquired embedment information is embedded in theinput image data by editing thereof or is cancelled to be embedded (stepS1804). Alternatively, from the beginning, enforced informationembedment can be performed without allowing a user to select edit orcancel by setting a driver or the like.

When the user selects to cancel information embedment of the acquiredembedment information in the input image data (step S1804: NO), theenforced embedment determination unit 1705 cancels the informationembedment (step S1805), and the processing terminates.

When the user selects to embed the acquired embedment information in theinput document image forcibly (step S1804: YES), the image editor 1704edits the input image data and generates an area in which the acquiredembedment information is embedded (step S1806). Then, the informationembedment unit 1706 embeds the acquired embedment information in editedimage data (step S1807), and the processing terminates.

Next, the image processing in step S1806 in the flow chart shown in FIG.18 is described in detail with reference to the flow chart shown in FIG.19. The image processing described below can be replaced with the imageprocessing described in the sixth embodiment.

When the embedment determination unit 1702 determines that the acquiredembedment information cannot be embedded in the input image data (stepS1803: NO) and the user selects to embed the acquired embedmentinformation in the input image data (step S1804: YES), in order toenlarge an area in which the acquired embedment information can beembedded by enlarging a margin, the image editor 1704 shrinks thedocument image in the input image data by comparing the informationvolume B that the input image data can include therein with theinformation volume A of the acquired embedment information to beembedded in image data calculated by embedment determination unit 1702in the processing described in FIG. 16. The image editor 1704 shrinksthe document image until the information volume B becomes the same asthe information volume A (step S1901). That is, the image editor 1704shrinks the document image until obtaining an information volumerequired to embed the acquired embedment information in image data inputin step S1801.

After the shrinkage processing performed in step S1901, the acquiredembedment information can be immediately embedded in image datasubjected to the shrinkage processing. However, the image editor 1704occasionally shrinks characters on the document image until thecharacters cannot be read, and such a problem is required to be avoided.The image editor 1704 calculates a character size S in a character areaof a shrunk document image and compares the character size S with apredetermined size K (step S1902). When the character size S is largerthan the predetermined size K (step S1902: YES), the image editor 1704determines that characters on the document image are large enough to beread, and the processing proceeds to step S1807.

When the character size S is smaller than the predetermined size K, theimage editor 1704 determines that the characters on the document imagecannot be read. The image editor 1704 stops shrinking the character areaso that the character size S becomes the same as the predetermined sizeK and shrinks areas other than the character area further by shiftingthe other areas to minimize spaces between each of the other areas (stepS1903). Thereby, the information volume required to embed the acquiredembedment information in edited image data can be obtained, and theprocessing proceeds to step S1807.

As for image processing to increase a blank area of the input image databy the image editor 1704, other image processing such as removing spacesbetween lines of the input image data, shrinking a character font sizeof the input image data, or the like, can be used instead of shrinkingthe entire document image. When an information embedment area of theinput image data is still insufficient after the other image processing,processing similar to the processing in step S1903 can be performed onthe input image data.

Each processing in each of the sixth and seventh embodiments accordingto the present invention is written as a program, and a CPU included ineach apparatus to which the present invention is applied can execute theprogram. The program can be distributed by storing the program on arecording medium such as an FD (floppy disk), a CDROM (compact disk readonly memory), a DVD (digital versatile disk), or the like, or as digitalinformation through a network.

As described above, in the sixth and seventh embodiments according tothe present invention, embedment information is embedded in a blank areaof input image data. A relation between an information volume that inputimage data can include therein and a blank area of the input image datais explained next. Normally, when information is forcibly embedded in abackground including contents of image data instead of a blank area, anembedment pattern embedded therein is deformed and cannot be extractedtherefrom. An area of image data in which information can be embedded islimited to a blank area of the image data, and an embedment patternembedded in a blank area can be extracted. Thus, as a blank area of theimage data increases, an information volume that input image data caninclude therein also increases.

FIG. 20 is an illustration schematically showing a method to calculatean information volume that input image data can include therein from ablank area of the input image data. A technique known as a segmentationmethod can be employed to calculate a blank area of image data. Thus,the description about the technique is omitted herein.

A method to calculate the information volume A of embedment informationto be embedded in image data is explained first. The method to calculatethe information volume A depends on information embedment methods toembed the embedment information. For example, an information embedmentmethod can be specified with a table in which information embedmentmethods are related to respective information volumes that can beembedded in input image data by using respective information embedmentmethods. Alternatively, when embedment information of text data such asa user name, a date, or the like, is specified, the information volume Acan be calculated by converting the embedment information into a bitarray.

Next, a method to calculate the information volume B that input imagedata can include therein is explained. When the information volume Bdepends only on areas, a table in which an information volume I that aunit area can embed embedment information therein is related to an areaS required to embed the information volume I of embedment information isused. The information volume B can be calculated by using the followingequation:Information volume B=(Blank area/Area S)×Volume IWhen the information volume B depends on the number of embedmentrectangles R, a table in which the information volume I that theembedment rectangle R can embed embedment information therein is relatedto the number of the embedment rectangles R is used, and a number K ofthe embedment rectangles R that are included in a blank area iscalculated. When identical information is embedded in image data, theinformation volume B is identical to the information volume I. Whendifferent information is embedded in respective embedment rectangles R,the information volume B is calculated as (the number K)×(theinformation volume I). When the embedment rectangle R cannot be obtainedin the blank area, the information volume B becomes zero.

When embedment information is a bar code and a part of the bar code iscut away, the embedment information becomes invalid. Thus, when the barcode is not included in a blank area, the information volume B becomeszero. When the bar code is included in a blank area, the informationvolume B is identical to an information volume of the bar code.

An example to embed embedment information in image data is explainedwith reference to FIG. 20. As shown in FIG. 20A, an embedment pattern Eof which information volume is the information volume A is input asembedment information. Input image data includes blank areas B1, B2, andB3 as shown in FIG. 20B. A blank area having the largest area among theblank areas B1, B2, and B3 is referred to as a blank area Bmax. As shownin FIG. 20C, when the embedment pattern E is included in the blank areaBmax, the information volume B of the blank area Bmax is identical tothe information volume A of the embedment pattern E. When the embedmentpattern E is embedded repeatedly, the information volume B of the blankarea Bmax is also identical to the information volume A of the embedmentpattern E. On the other hand, when the embedment pattern E is notincluded in the blank area B2, the information volume B of the blankarea B2 is zero.

When the embedment pattern E is embedded with different patternsrepeatedly, the information volume A increases. When the input imagedata includes blank areas B1 through Bn, the blank area Bn is specifiedwith respect to each different pattern. A number C of the blank areasincluded in the input image data is counted, and a total informationvolume required to embed all the different patterns of the embedmentpattern E is represented as (the information volume A of the embedmentpattern E)×C.

When error-correcting coding processing is applied to embedmentinformation, the information volume A of the embedment informationcannot be calculated with the above-described method using an area. Whenembedment information subjected to error-correcting coding processing,another method can be employed. For example, in the method, after theembedment information is embedded in image data, the embedmentinformation is searched. Then, whether or not the image data includes anenough area of the information volume B is determined whether or not theembedment information is detected.

The information embedment device of the sixth or seventh embodimentaccording to the present invention can be configured in an image formingapparatus such as a facsimile, a copier, a printer, an MFP(multifunction peripheral), or the like. The information embedmentdevice of the sixth or seventh embodiment according to the presentinvention can also be configured in an information processing apparatussuch as a personal computer or the like. Embedment information can beprepared by an image forming apparatus such as a facsimile, a copier, aprinter, an MFP, or the like, or an information processing apparatussuch as a personal computer or the like.

It should be noted that the above-described embodiments are merelyillustrative, and numerous additional modifications and variations arepossible in light of the above teachings. For example, elements and/orfeatures of different illustrative and preferred embodiments herein maybe combined with each other and/or substituted for each other within thescope of this disclosure. It is therefore to be understood that thedisclosure of this patent specification may be practiced otherwise thanas specifically described herein.

1. An image processing apparatus configured to embed embedmentinformation in image data to generate embedded image data, the apparatuscomprising: an embedment information acquisition unit configured toacquire embedment information to be embedded in the image data; a usageproperty information acquisition unit to acquire usage propertyinformation indicating a usage property of the embedded image data to begenerated from a user, the usage property information including arequest of the user for the embedded image data and a usage purpose ofthe embedded image data; an information embedment manner determinationunit configured to determine an information embedment manner to embedthe embedment information to the image data according to the usageproperty information of the embedded image data; and an informationembedment unit configured to embed the acquired embedment information inthe image data based on the information embedment manner determined bythe information embedment manner determination unit, wherein theinformation embedment manner determination unit is further configuredto: define a plurality of functions that are required to be added to theimage data so as to generate the embedded image data having the usageproperty specified by the usage property information acquired from theuser; select, from a plurality of information embedment manners, aninformation embedment manner based on the defined plurality of functionsas the information embedment manner to be used for embedding theembedment information to the image data; calculate, for each one of theplurality of information embedment manners, similarity between thedefined plurality of functions and a plurality of available functionsthat can be provided by each of the plurality of information embedmentmanners; and select the information embedment manner based on thecalculated similarity.
 2. The image processing apparatus according toclaim 1, wherein the usage property information acquisition unitcomprises: an inquiry display unit configured to visually display aninquiry relating to the usage property of the embedded image data to begenerated by embedding the acquired embedment information in the imagedata; and an answer input unit configured to input an answer to theinquiry, wherein the usage property information acquisition unitgenerates the usage property information based on the input answer. 3.The image processing apparatus according to claim 1, wherein the usageproperty information acquisition unit acquires the usage propertyinformation further from information included in the image data.
 4. Theimage processing apparatus according to claim 1, wherein the informationembedment unit comprises: an embedment determination unit configured todetermine whether or not the acquired embedment information can beembedded in the image data; an image edit unit configured to performpredetermined image processing on the image data such that the acquiredembedment information can be embedded in the image data when theembedment determination unit determines that the acquired embedmentinformation cannot be embedded in the image data; and an interactivedetermination unit configured to allow the user to determine whether ornot to embed the acquired embedment information in the image data afterapplying the predetermined image processing.
 5. The image processingapparatus according to claim 4, wherein the embedment determination unitdetermines whether or not the acquired embedment information can beembedded in the image data based on a volume of the acquired embedmentinformation and a volume of information that the image data can includetherein, the volume of information that the image data can includetherein being determined by a size of a blank area included in the imagedata.
 6. The image processing apparatus according to claim 4, whereinthe predetermined image processing performed by the image edit unit onthe image data includes at least one of image processing of sizemodification of an object included in the image data, shifting theobject so as to increase a blank area size of the image data, andremoval of a background or a background image of the image data.
 7. Animage processing method to embed embedment information in image data togenerate embedded image data, the method comprising the steps of:acquiring the image data, and the embedment information to be embeddedin the image data; acquiring usage property information indicating ausage property of the embedded image data to be generated from a user,the usage property information including a request of the user for theembedded image data and a usage purpose of the embedded image data;determining an information embedment manner to embed the embedmentinformation to the image data according to the usage propertyinformation of the embedded image data; embedding the acquired embedmentinformation in the image data according to the determined informationembedment manner; defining a plurality of functions that are required tobe added to the image data so as to generate the embedded image datahaving the usage property specified by the usage property informationacquired from the user; selecting, from a plurality of informationembedment manners, an information embedment manner based on the definedplurality of functions as the information embedment manner to be usedfor embedding the embedment information to the image data; calculating,for each one of the plurality of information embedment manners,similarity between the defined plurality of functions and a plurality ofavailable functions that can be provided by each of the plurality ofinformation embedment manners; and selecting the information embedmentmanner based on the calculated similarity.
 8. The image processingmethod according to claim 7, further comprising the steps of: visuallydisplaying an inquiry relating to the usage property of the embeddedimage data to be generated by embedding the acquired embedmentinformation in the image data; inputting an answer to the inquiry; andgenerating the usage property information based on the input answer. 9.The image processing method according to claim 7, further comprising thestep of acquiring the usage property information further frominformation included in the image data.
 10. The image processing methodaccording to claim 7, further comprising the steps of: determiningwhether or not the acquired embedment information can be embedded in theimage data; performing predetermined image processing on the image datasuch that the acquired embedment information can be embedded in theimage data when the step of determining determines that the acquiredembedment information cannot be embedded in the image data; andconfirming whether or not the acquired embedment information is embeddedin the image data after applying the predetermined image processing. 11.The image processing method according to claim 10, wherein theperforming predetermined image processing on the image data includesdetermining whether or not the acquired embedment information can beembedded in the image data based on a volume of the acquired embedmentinformation and a volume of information that the image data can includetherein, the volume of information that the image data can includetherein being determined by a size of a blank area included in the imagedata.
 12. The image processing method according to claim 10, wherein theperforming the predetermined image processing on the image data includesat least one of image processing of size modification of an objectincluded in the image data, shifting of the object so as to increase ablank area size of the image data, and removal of a background or abackground image of the image data.
 13. A non-transitory computerreadable medium with a program stored thereon, when run on an imageprocessing apparatus, to cause the image processing apparatus to performthe steps of: acquiring image data, and embedment information to beembedded in the image data; acquiring from a user usage propertyinformation indicating a usage property of embedded image data to begenerated by embedding the acquired embedment information in the imagedata, the usage property information including a request of the user forthe embedded image data and a usage purpose of the embedded image data;determining an information embedment manner to embed the embedmentinformation to the image data according to the usage propertyinformation of the embedded image data; embedding the acquired embedmentinformation in the image data according to the determined informationembedment manner; defining a plurality of functions that are required tobe added to the image data so as to generate the embedded image datahaving the usage property specified by the usage property informationacquired from the user; selecting, from a plurality of informationembedment manners, an information embedment manner based on the definedplurality of functions as the information embedment manner to be usedfor embedding the embedment information to the image data; calculating,for each one of the plurality of information embedment manners,similarity between the defined plurality of functions and a plurality ofavailable functions that can be provided by each of the plurality ofinformation embedment manners; and selecting the information embedmentmanner based on the calculated similarity.
 14. The non-transitorycomputer readable medium according to claim 13, configured to cause theimage processing apparatus to perform the steps of: visually displayingan inquiry relating to the usage property of the embedded image data tobe generated by embedding the acquired embedment information in theimage data; inputting an answer to the inquiry; and generating the usageproperty information based on the input answer.
 15. The non-transitorycomputer readable medium according to claim 13, configured to cause theimage processing apparatus to perform the step of acquiring the usageproperty information further from information included in the imagedata.
 16. The non-transitory computer readable medium according to claim13, configured to cause the image processing apparatus to perform thesteps of: calculating a volume of the acquired embedment information;calculating a volume of information that the image data can includetherein, which is determined by a size of a blank area included in theimage data; determining whether or not the acquired embedmentinformation can be embedded in the image data by comparing the volume ofthe acquired embedment information and the volume of information thatthe image data can include therein; performing predetermined imageprocessing on the image data such that the acquired embedmentinformation can be embedded in the image data when it is determined thatthe acquired embedment information cannot be embedded in the image data;and confirming whether or not the acquired embedment information isembedded in the image data after applying the predetermined imageprocessing.